﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Marmat.Template.WinForm
{
    /// <summary>
    /// 明确类型的单据编辑窗体的控制器。
    /// </summary>
    /// <typeparam name="IManagement"></typeparam>
    public class ExplicitDocumentEditFormController<IManagement> : DocumentEditFormController where IManagement : DocumentManagement
    {
        /// <summary>
        /// 单据管理器
        /// </summary>
        public new IManagement Management { get => (IManagement)base.Management; set => base.Management = value; }
    }

    /// <summary>
    /// 明确类型的单据编辑窗体的控制器。
    /// </summary>
    /// <typeparam name="Entity"></typeparam>
    /// <typeparam name="IManagement"></typeparam>
    public abstract class ExplicitDocumentEditFormController<Entity, IManagement> : DocumentEditFormController<Entity> where IManagement : DocumentManagement<Entity> where Entity : class, new()
    {
        /// <summary>
        /// 单据管理器
        /// </summary>
        public new IManagement Management { get => (IManagement)base.Management; set => base.Management = value; }
    }
}
